码迷,mamicode.com
首页 > 编程语言 > 详细

【python】从web抓取信息

时间:2018-10-06 18:34:46      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:sts   点击下载   程序   失败   简单的   .com   bubuko   常用操作   res   

  • 能打开浏览器的模块webbrowser,它的open函数可以做一些有意思的事情。例如从sys.argv或者剪切板读入地址,然后直接在Google地图打开相应的地图页面。
import webbrowser #python模块,非第三方模块,不需要下载,直接使用
import pyperclip #第三方模块
#启用电脑默认的浏览器打开网页
address = pyperclip.paste()
webbrowser.open(http://www.google.cn/maps/place/+address)

这个模块平时使用的不多,只是在书上看到了才试了试。它的功能selenium模块(第三方模块)可以实现,而且selenium模块的功能更多。

  • requests模块(第三方模块),很强大的一个模块,从Web直接下载文件(HTML,txt,zip等等)。

爬虫爬取网站时,会被部分网站阻止,因为不更改请求头的话,请求头会默认为Python...

请求头可设置为:

header = {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
                         AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36}

简单的例子如下:

import requests
from bs4 import BeautifulSoup    #requests和bs4都为第三方模块
#请求头
header = {User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64)
                         AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36}
#接受返回的HTML文件
res = requests.get(https://www.cnblogs.com/to-red/,headers=header)
#检查下载状态,下载失败时会停止
res.raise_for_status()
#下载成功后会会保存在text变量中
#print(res.text)

#BeautifulSoup解析HTML,返回一个BeautifulSoup对象
soup = BeautifulSoup(res.text,html.parser)
#select方法,p .class #id,返回的是Tag对象,有对应的HTML标签,也有attrs属性
title = soup.select(#Header1_HeaderTitle)[0]
print(title.text)
blog = title.get(href) 
print(blog)

requests模块+bs4模块就可以做很多事情了,比如追一本小说,每次运行一次程序,就会下载好最新的章节。

  • selenium模块,控制Google浏览器需要安装chromedriver  点击下载,并将chromedriver.exe放在与Chrome浏览器的同一目录下。

如图:技术分享图片

 

 

 selenium模块的常用操作:

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
browser = webdriver.Chrome(executable_path=C:\Program Files (x86)\Google\Chrome\Application\chromedriver)
browser.get(https://www.cnblogs.com/to-red/)
#find_element_*方法在页面寻找内容
pythonS = browser.find_element_by_id(CatList_LinkList_0_Link_0)
#单击
pythonS.click()
#提交表单
search = browser.find_element_by_id(q)
search.send_keys(hello)
#发送一个回车键
search.send_keys(Keys.ENTER)

 

【python】从web抓取信息

标签:sts   点击下载   程序   失败   简单的   .com   bubuko   常用操作   res   

原文地址:https://www.cnblogs.com/to-red/p/9747875.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!