实例讲解Python爬取网页数据

  

一、利用webbrowser.open()打开一个网站:

        在在在导入web浏览器   在在在webbrowser.open (http://i.firefoxchina.cn/& # 63;从=worldindex)   真正的      

实例:使用脚本打开一个网页。

  

所有Python程序的第一行都应以# ! Python开的头,它告诉计算机想让Python来执行这个程序。(我没带这行试了试,也可以,可能这是一种规范吧)

  

1。从sys.argv读取命令行参数:打开一个新的文件编辑器窗口,输入下面的代码,将其保存为map.py。

  

2。读取剪贴板内容:

  

3。调用webbrowser.open()函数打开外部浏览:

        # !python3   进口webbrowser, sys, pyperclip   如果len (sys.argv)比;1:   . join (sys.argv mapAddress=" [1:])   其他:   mapAddress=pyperclip.paste ()   webbrowser.open (' http://map.baidu.com/& # 63; newmap=1,即=utf-8& s=s % 26 wd % 3 d ' + mapAddress      

注:不清楚sys.argv用法的,请参考这里;不清楚. join()用法的,请参考这里.sys.argv是字符串的列表,所以将它传递给加入()方法返回一个字符串。

  

好了,现在选中“天安门广场”这几个字并复制,然后到桌面双击你的程序。当然你也可以在命令行找到你的程序,然后输入地点。

  

二,用请求模块从Web下载文件:请求模块不是Python自带的,通过命令行运行pip安装请求安装。没翻墙是很难安装成功的,手动安装可以参考这里。

        在在在进口的要求   在在在res=requests.get (http://i.firefoxchina.cn/& # 63;从=worldindex) #向获得中传入一个网址   在在在类型(res) #响应对象   & lt;类“requests.models.Response”比;   在在在打印(res.status_code) #响应码   200   在在在res.text #返回的文本      

请求中查看网上下载的文件内容的方法还有很多,如果以后的博客用的到,会做说明,在此不再一一介绍。在下载文件的过程中,用raise_for_status()方法可以确保下载确实成功,然后再让程序继续做其他事情。

        进口的要求   res=requests.get (http://i.firefoxchina.cn/& # 63;从=worldindex)   试一试:   res.raise_for_status ()   除了例外exc:   打印(“有一个问题:% s % (exc)      

三,将下载的文件保存到本地:

        在在在进口的要求   在在在res=requests.get (' http://tech.firefox.sina.com/17/0820/10/6DKQALVRW5JHGE1I.html # # 0 - tsina - 1 - 13074 - 397232819 - ff9a47a7b7e80a40613cfe1”)   在在在res.raise_for_status ()   在在在文件=打开(“1。txt”、“白平衡”)#以写二进制模式打开文件,目的是保存文本中的“Unicode编码”   在在在res.iter_content的词(100000):# & lt;跨类=癴ontstyle0”祝辞& lt;跨类=癴ontstyle0祝辞iter_content () & lt;/span> & lt;跨类=癴ontstyle1祝辞方法在循环的每次迭代中返回一段& lt;/span> & lt;跨类=癴ontstyle0祝辞bytes & lt;跨类=癴ontstyle1”在数据& lt;/span> & lt;跨类=癴ontstyle1”在类型的内容,你需要指定其包含的字节数& lt;/span> & lt;/span>   file.write(单词)         16997   在在在file.close ()      

四,用BeautifulSoup模块解析HTML:在命令行中用pip安装beautifulsoup4安装它。
  1. bs4.beautifulsoup()函数可以解析HTML网站链接requests.get(),也可以解析本地保存的HTML文件,直接开放()一个本地HTML页面。

        在在在导入请求,bs4   在在在res=requests.get (http://i.firefoxchina.cn/& # 63;从=worldindex)   在在在res.raise_for_status ()   在在在汤=bs4.BeautifulSoup (res.text)      从警告警告(模块):   文件C: \“用户\ \ AppData王\本地Python \程序\ \ Python36-32 \ lib \网站\ beautifulsoup4-4.6.0-py3.6.egg \ bs4 \ __init__。py”, 181行   markup_type=markup_type))   UserWarning:没有显式地指定解析器,所以我使用这个系统最有效的HTML解析器(“html.parser”)。这通常不是问题,但如果你运行这段代码>   在在在进口bs4   在在在html=开放(C: \ \用户桌面\ \ 1. \ \ \ \王htm”)   在在在exampleSoup=bs4.BeautifulSoup (html)   在在在exampleSoup=bs4。BeautifulSoup (html、“html.parser”)   在在在类型(exampleSoup)   & lt;类“bs4.BeautifulSoup”比;之前      

2。用select()方法寻找元素:需传入一个字符串作为CSS“选择器”来取得Web页面相应元素,例如:
  soup.select (div):所有名为& lt; div>的元素;

实例讲解Python爬取网页数据