一招爬取大部分网页!selenium模拟浏览器直接获取网页!(超简单,不到20行代码)(手把手超简单,全程图文讲解)

目录

爬虫

代码展示(整体)

安装环境

代码思路

打开浏览器,并打开百度

找到搜索栏输入“猫猫”点击搜索

找到搜索栏(注意看注意看,找按钮就只教一次!!!)

点击导航栏的图片

最后爬取就好啦

关于以后


爬虫

什么是爬虫?嗯!爬在网页上的虫子!虫子干嘛呢?悄悄吃掉网页上的数据(嘻嘻),就是拿到网页信息啦!先来看看效果吧。

注意哦这不是搜索哦,看看头上尊贵的localhost吧!那既然页面都拿到了那么数据不随便拿吗?ok完毕可以玩元神了。

代码展示(整体)

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By

#新建模拟的chrome浏览器对象
driver = webdriver.Chrome()
#go to 百度
driver.get("http://www.baidu.com")

#等2秒
sleep(2)

#搜索“猫猫”
driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys("猫猫")
#点击搜索
driver.find_element(By.XPATH,'//*[@id="su"]').click()

#等2秒
sleep(2)

#点击导航栏的图片
driver.find_element(By.XPATH,'//*[@id="s_tab"]/div/a[1]').click()

#等2秒
sleep(2)

#取出html(可以根据需求自己按需取出就行)
page_source = driver.page_source.encode('utf-8')

#写入html
with open("baidu.html","wb") as f:
    f.write(page_source)

#关闭浏览器
driver.quit()

安装环境

缺什么包安装什么包

代码思路

模拟真人得到数据的方式然后用代码进行实现,下面我将教你如何通过代码仿真人的操作,注意:!!!请记住!!!你的任意一个点击操作,或输入操作都要记录下来,然后通过xpath找到这些按钮或文本框的所在,然后交给仿真selenium来帮你各种点击或输入。!!!注意!!!一定要在需要一定的响应时间的地方停留几秒钟,不然浏览器没加载出来你就爬,很有可能啥也爬不到。如果爬到的东西不是你想要的多半是时间没给够!!!

打开浏览器,并打开百度

记住要等2秒哟,不如人家页面可能还没加载出来勒

driver = webdriver.Chrome()
driver.get("http://www.baidu.com")

#等2秒
sleep(2)

找到搜索栏输入“猫猫”点击搜索

找到搜索栏(注意看注意看,找按钮就只教一次!!!)

按一下F12进入开发者模式点击圈出来的按钮,

然后点击搜索框

选出他的xpath然后加进我们代码中,然后加入进我们的find_element中就可以啦,然后给框框里面输入我们的猫猫。(别问我为什么是猫猫,我就是喜欢猫猫啦。 o(~▽~)d,猫猫超可爱的啦,(想选美女的,主要是怕不太绿色))

#搜索“猫猫”
driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys("猫猫")

同上找到百度一下的按钮

#搜索“猫猫”
driver.find_element(By.XPATH,'//*[@id="kw"]').send_keys("猫猫")
#点击搜索
driver.find_element(By.XPATH,'//*[@id="su"]').click()

#等2秒
sleep(2)

点击导航栏的图片

#点击导航栏的图片
driver.find_element(By.XPATH,'//*[@id="s_tab"]/div/a[1]').click()

#等2秒
sleep(2)

最后爬取就好啦

记住这里要utf-8编码,不然文字部分是乱码哦。

我这里是将其存入html,当然也可以根据自己的需求拿到其他想要的东西啦。

#取出html(可以根据需求自己按需取出就行)
page_source = driver.page_source.encode('utf-8')

#写入html
with open("baidu.html","wb") as f:
    f.write(page_source)

#关闭浏览器
driver.quit()

okok我要元神,启动!!! 

关于以后(一些废话)

本人目前学生,没有说有很强的计算机的技术,希望大家如果发现有什么问题都可以和我说,不要骂我。不会的地方也可以和我讨论,虽说我也可能不能马上解决你的问题,但是还是希望和大家多加交流的。以后呢,也会不定期更新,具体更新时间看心情,但保证一定是原创,如果对我的风格有什么建议的也欢迎指出。(之后可能会更新pyppeteer,就是高级版的selenium,可以实现异步爬取,更容易模仿人的行为,不容易被发现,然后selenium其实还有个js代码防止说是被检测出来使用的机器浏览器,可以更改参数,但是比较代码比较多这里就没放,感兴趣的可以问我。还是希望我的博客可以简短易懂而且有趣味性)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请给我两分钟睡觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值