高清网站seo,浙江网络推广,企业开展网络营销方案,英文wordpress转中文pyppeteer和requests简单应用 本文章只是分享pyppeteer技术。有些反扒网站可以使用pyppeteer库#xff0c;完整代码没有分享。 获取相关开发工具软件#xff0c;可以关注公众号#xff1a;爬虫探索者。 发送下面图片的关键字可以获取对应软件。sql指的是Navicat。 破解教程可…pyppeteer和requests简单应用 本文章只是分享pyppeteer技术。有些反扒网站可以使用pyppeteer库完整代码没有分享。 获取相关开发工具软件可以关注公众号爬虫探索者。 发送下面图片的关键字可以获取对应软件。sql指的是Navicat。 破解教程可以参考主页其他文章。 运行环境
pip install -i https://mirrors.aliyun.com/pypi/simple pyppeteer
pip install -i https://mirrors.aliyun.com/pypi/simple requests
pip install -i https://mirrors.aliyun.com/pypi/simple lxml开始的办法
第一次尝试的时候使用普通的requests方法补充headers获取数据但是发现最后获取的数据都是假的今天正好在学习pyppeteer库就尝试了一下。
Pyppeteer的使用 launch表示打开一个浏览器 newPage通过返回的browser对象创建页签 setViewPort设置显示大小 evaluateOnNewDocument执行JavaScript代码 goto前往某一个url地址 screenshot请求之后的内容截图保存 主函数 headless表示无头模式设置为False会正常显示页面默认为True无头模式。 userDataDir保存登录信息。 args设置了浏览器显示比例可以不设置不过显示的可能不太好看。 async def main():# userDataDir实现用户持久化保存登录信息每次运行加载browser await launch(headlessFalse, userDataDir./userdata, args[f-window-size{width}, {height}])page await browser.newPage()await page.setViewport({width: width, height: height})await page.evaluateOnNewDocument(Object.defineProperty(navigator, webdriver, {get: () undefined})) # 防止检测到await page.goto(股友url) # 请求的地址await page.screenshot(pathguba.png) # 截图查看到的信息await page.click(.graylink) # 模拟点击查看更多await asyncio.sleep(2) # 第一次运行延长时间先登录await parse_content(await page.content()) # 调用解析协程获取对应内容await browser.close()解析响应内容
async def parse_content(content):html etree.HTML(content)trs html.xpath(//table[classsecontent]/tbody/tr)for tr in trs:code tr.xpath(./td/a/text())[0]name tr.xpath(./td/a/text())[1]current_price tr.xpath(./td/span/text())[0]die_price tr.xpath(./td/span/text())[1]zhang_price tr.xpath(./td/span/text())[2]huanshou tr.xpath(./td[last()-1]/text())[0]chengjiao tr.xpath(./td[last()]/text())[0]print(code, name, current_price, die_price, zhang_price, huanshou, chengjiao)asyncio.get_event_loop().run_until_complete(main())