最有用的两个爬虫工具

首先是selenium。这个玩意,特别适合爬一些反爬虫很强,但是无需登录的网站。当然需要登陆的也可以搞。只要你提前登陆一下就行。

这库里,最有用的东西就是下面的代码。

from selenium import webdriver

import lxml.etree

browser = webdriver.Firefox()

#创建一个浏览器实例

url=‘http://c.biancheng.net/opencv/

page_data = browser.get(ur).page_source

print(type(page_source))

#获取网页源代码的文本。这个是最有用的。如果网页里有你的目标内容然后可以直接用lxml扒下来了。

response = lxml.etree.HTML(page_data)

#这一步是先把目标页面的信息做成一个可以用xpath查找的对象。用了response的名称是因为跟scrapy里面的response的用法一样。

taget = response.xapth('you xpath')

#这样就能拿到你想要的内容了。

input_search = browser.find_element_by_id('lia-searchQuery')

定位需要提交信息的那个按钮。

input_search.send_keys('张学友')

#向提交信息的框里输入某个信息

input_search.send_keys(Keys.ENTER)

#写好想要的内容后发送回车,从而发送请求

target =browser.find_element_by_xpath('//body').get_attribute("style")

#获取指定标签的指定属性的文本信息。

关于lxml,有一点说明:

lxml.etree.HTML(page_data)的page_data可以是文本类型str,也可以是包含了网页代码的二进制数据流btype。例如下面这个情况里热

from urllib import request
from lxml import etree

url = 'http://c.biancheng.net/opencv/'
page_data = request.urlopen(url).read()
print(type(page_data))
response = etree.HTML(page_data)
text = response.xpath('//div[@id="arc-body"]/text()')
print(text)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值