打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
对于爬虫程序,一个万能公式

对于爬虫程序,一个万能公式:

爬虫程序 = 网络请求 + 数据解析 + 数据存储

这三部分就对应这爬虫的基础,任何一个爬虫程序都会保存这三部分的内容,一些复杂的爬虫无非是在此基础上添加些别的内容。

3)获取不到网页的全部代码

问题:

通过request方法获取的网页代码与在浏览器看到的网页源码不一致

解决方法:

由于很多网页的数据传输是通过js命令传到网页的,因此使用request()方法不能获取通过js传递过来的信息代码,此时通过使用selenium库来模拟浏览器运行,就像真正的用户在操作一样,可通过此方法可获得该网页的源码。

from selenium.webdriver.support.wait import WebDriverWait
browser = webdriver.Chrome()
browser.get(Url)
html = browser.page_source

(4)点击下一页时网页网址不变

问题:

在爬取的过程中,由于要爬取每个律师详细信息所对应的网址,因此涉及到翻页的问题,但在网页上实时点击下一页时发现网址并没有发生变化。

解决方法:

通过使用selenium中nextpagebutton.click()方法来模拟跳转到下一页,从而对下一页的内容进行获取。

nextpagebutton = browser.find_element_by_xpath('//*[@class="next_page"]')  # 定位到“下一页”按钮
    nextpagebutton.click()  # 模拟点击下一页
    wait = WebDriverWait(browser, 10)  # 浏览器等待10s

(5)文本节点问题

解决方法:

在BS4中,我们在HTML中看到的换行符以及空格都是NavigableString 也就是文本节点。

(6)解析网页时,如何快速找到数据存放的位置,并提取其中的数据?

这是很多新手会遇到的一个问题,就是虽然运行我的代码没有问题,大概逻辑也能读得懂,但是想修改一下爬取同类网站,或者同一个网站的其他数据时,却不知从何下手。

这个其实是对工具使用不熟悉而已;

我这里简单讲解一下(beautifulSoup)常用的使用技巧(当然它有很多强大便捷的功能,我这里只介绍几个常用的,很好用的函数,这几个用好了一样可以应付几乎所有网站)

首先,爬取之前需要定位到数据所在的标签,这个使用 F12 开发者工具中的这个按钮,点一下按钮,然后点一下网页,可以很快定位到页面中的相应标签。

这步就不详细说了,很简单的,自己摸索一下。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
你是如何高效写“爬虫”的?
第一个最基础的Python程序
总结了几项Python兼职要点,月入3万不踩坑!
一篇文章带你了解网络爬虫的概念及其工作原理
一步一步写爬虫之抓包
网络爬虫的应用——抓取空气质量的历史数据
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服