Python网络数据采集
一、正則表達式
?* ? ? 表匹配0次或者多次 ?a*b*
+ ? ?表至少一次
[ ] ? 匹配任意一個
( ) ?辨識一個編組
{m,n} m或者n 次
[^] ?匹配任意不在中括號里的字符
| ? ?表示或者
. ? ?表示匹配任意字符
^ ? ?表字符的開始 ^a ?表示以a開始
\ ? ?表示轉義字符
$ ?和^ 相反 ?從字符串的末尾開始匹配
?! 不包含
二、獲得屬性
獲得一個標簽的全部屬性
myTag.attrs
獲取圖片的資源位置src
myImgTag.attrs["src"]
?
?
獲取網頁的函數:
random.seed(datetime.datetime.now())
def getLinks(articleUrl):
html = urlopen("http://en.wikipedia.org"+articleUrl)
bs0bj = BeautifulSoup(html)
return bs0bj.find("div",{"id":"bodyContent"}).findAll("a",herf=re.compile("^(/wiki/)((?!:).)*$"))
links = getLinks("/wiki/Kevin_Bacon")
while len(links) > 0:
newArticle = links[random.randint(0,len(links)-1)].attrs["href"]
print(newArticle)
link = getLinks(newArticle)
?
轉載于:https://www.cnblogs.com/tyyhph/p/7582446.html
總結
以上是生活随笔為你收集整理的Python网络数据采集的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RecyclerView悬浮标题
- 下一篇: 【五】MongoDB管理之生产环境说明