使用BeautifulSoup轻松获取url及其内容

简介:

1、环境:系统Win7 x64,Python 2.7。

2、示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#encoding: utf-8
#author: walker
#date: 2014-11-26
#summary: 使用BeautifulSoup获取url及其内容
 
import  sys, re, requests, urllib
from  bs4  import  BeautifulSoup
 
reload (sys)   
sys.setdefaultencoding( 'utf8' )  
 
#给定关键词,获取百度搜索的结果   
def  GetList(keyword):
     keyword  =  unicode (keyword,  'gb18030' )
     dic  =  { 'wd' : keyword}
     urlwd  =  urllib.urlencode(dic)
     print (urlwd)
     sn  =  requests.Session()
     url  =  'http://www.baidu.com/s?ie=utf-8&csq=1&pstg=22&mod=2&isbd=1&cqid=9c0f47b700036f17&istc=8560&ver=0ApvSgUI_ODaje7cp4DVye9X2LZqWiCPEIS&chk=54753dd5&isid=BD651248E4C31919&'
     url  + =  urlwd
     url  + =  '&ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&rsv_pq=b05765d70003b6c0&rsv_t=ce54Z5LOdER%2Fagxs%2FORKVsCT6cE0zvMTaYpqpgprhExMhsqDACiVefXOze4&_ck=145469.1.129.57.22.735.37'
     =  sn.get(url = url)
     soup  =  BeautifulSoup(r.content)        #r.text很可能中文乱码
     rtn  =  soup.find( 'div' , id = 'content_left' ).find_all(name = 'a' ,href = re. compile ( 'baidu.com' ))
     for  item  in  rtn:
         print (item.getText().encode( 'gb18030' ))
         print (item[ 'href' ])
         
if  __name__  = =  '__main__' :
     keyword  =  '正则表达式'
     GetList(keyword)

3、运行结果截图:

wKiom1R1R6qwvklLAAX4LcZ3AkI940.jpg


相关阅读:

1、bs4官方文档 。

2、readthedocs

3、Windows下安装失败

4、lxml官网

5、BeautifulSoup深度优先遍历:https://www.crummy.com/software/BeautifulSoup/bs4/doc/#descendants

6、BeautifulSoup广度优先遍历:How to do a Breadth First Search easily with beautiful soup?


*** walker * 2014-11-26 ***


本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1582703如需转载请自行联系原作者

RQSLT
相关文章
|
8月前
|
XML 前端开发 数据格式
请描述如何使用`BeautifulSoup`或其他类似的库来解析 HTML 或 XML 数据。
【2月更文挑战第22天】【2月更文挑战第67篇】请描述如何使用`BeautifulSoup`或其他类似的库来解析 HTML 或 XML 数据。
85 2
|
3月前
|
XML 数据格式 开发者
解析数据的Beautiful Soup 模块(一)
解析数据的Beautiful Soup 模块(一)
86 0
|
3月前
|
前端开发 Python
解析数据的Beautiful Soup 模块(二)
解析数据的Beautiful Soup 模块(二)
32 1
|
8月前
|
数据采集 Web App开发 安全
Beautiful Soup和Requests
【5月更文挑战第7天】本文介绍了使用Python中的Requests和Beautiful Soup库创建网络爬虫的方法。Requests库简化了HTTP请求,Beautiful Soup则用于解析HTML和XML文档,便于提取信息。首先,文章解释了两个库的作用和安装步骤。接着,通过实例展示了如何提取网页标题和链接,以及如何下载并保存图片。对于动态加载的内容,文章推荐使用Selenium库模拟浏览器行为。此外,还介绍了如何处理登录认证,包括安全输入密码和从外部文件读取凭据。总结来说,本文提供了Python网络爬虫的基础知识和实用技巧。
74 6
|
8月前
|
数据采集 XML 数据可视化
如何用Beautiful Soup解析HTML内容
如何用Beautiful Soup解析HTML内容
89 1
|
8月前
|
XML 前端开发 数据格式
​Beautiful Soup 4.12.0 文档(一)
​Beautiful Soup 4.12.0 文档(一)
|
8月前
|
XML 前端开发 数据格式
​Beautiful Soup 4.12.0 文档(二)
​Beautiful Soup 4.12.0 文档(二)
|
8月前
|
XML 机器学习/深度学习 移动开发
​Beautiful Soup 4.12.0 文档(三)
​Beautiful Soup 4.12.0 文档(三)
|
8月前
|
数据采集 开发者 Python
使用urllib和BeautifulSoup解析网页中的视频链接
使用urllib和BeautifulSoup解析网页中的视频链接
|
数据采集 SQL 移动开发
【Python爬虫】Beautifulsoup4中find_all函数
【Python爬虫】Beautifulsoup4中find_all函数