python抓取网页内容多种方法

发布时间:2020-07-25编辑:脚本学堂
本文介绍了python抓取一个网页的方法与实例,有需要的朋友参考下。

python抓取一个网站,需要解决以下问题:
beautiful soup 文档:
http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html
 
1,用python模拟useragent为android的浏览器:
 

复制代码 代码示例:
useragent = "Mozilla/5.0 (linux; U; Android 2.2; en-gb; GT-P1000 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1" 
url = "http://xxx" 
request = urllib2.Request(url) 
request.add_header('User-Agent',useragent) 
html = urllib2.urlopen(request,timeout=5).read() 
 
#url编码 
urllib.quote(‘abc edf') 
 

2,beautiful soup 用的最多的一些方法
 

复制代码 代码示例:
soup = BeautifulSoup(html) 
print soup.strong.string 
print soup.find("div",class_='xxx').string 
print soup.find("span",class_='pos').next_sibling.string 
oneDiv.next_sibling.a.get("href") 
# 获取一个div,并且class='xxx' 的一个div,.string 为获取这个div里的文本。
.next_sibling 下一个同级节点。

3,正则提取文本中以http开头和以html结尾的文本:
 

复制代码 代码示例:
p=re.compile(r"""(http://.*.html)""").search(oneString) 
if p: 
   return p.group(1) 

4,下载文件
 

复制代码 代码示例:
urllib.urlretrieve("http://xxx/asd.jpg",'apple.jpg') 

抓取就可以开始了,然后对应上出现的一场来解决问题就行。