很多时候,urllib和scrapy足可以应对大部分中低级爬虫,但是对于一些特殊的反爬网站,比如随机生成等,这些都是很难解决的,但是通过phantomjs无界面浏览器进行探知网站,返回的数据再进行urllib或scrapy处理,则可以解决这种反爬机制。
from selenium import webdriver # browser = webdriver.Chrome() browser=webdriver.PhantomJS() browser.get('https://www.wangxuelong.vip')
1、browser.find_element_by_xpath('//*[@id="kw"]').clear()
找到这个标签并清空里面的内容,这个xpath可以通过浏览器审查元素进行找到
2、browser.find_element_by_xpath('//*[@id="kw"]').send_keys("爬虫")
在这个输入框里输入爬虫两个字
3、browser.find_element_by_xpath('//*[@id="su"]').click()
提交这个输入框里面的内容
完成之后最好设置一个延时time.sleep(5)
不然,最后获取的是空内容。
4、browser.get_screenshot_as_file("/Users/new/t.jpg")
获取当前状态截屏
5、browser.page_source获取当前网页源代码,(包含js包的内容)
6、browser.quit()最后退出模拟浏览器
7、browser.current_url 获取当前url
好
还可以
我加你了哦
看了那么多博客,就你的能看懂