b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

正则表达式语法/ Python爬虫:现学现用Xpath爬取豆瓣音乐(4)

电脑杂谈  发布时间:2018-02-09 00:49:40  来源:网络整理

正则表达式语法/_正则表达式是什么_正则表达式的\\

得到:

        We Sing. We Dance. We Steal Things.

        Viva La Vida

        华丽的冒险

        范特西

对比他们的xpath,发现只有table序号不一样,我们可以就去掉序号,得到通用的xpath信息:

运行代码:


# coding:utf-8
from lxml import etree
import requests

url = 'https://music.douban.com/top250'

html = requests.get(url).text
s = etree.HTML(html)
titles = s.xpath('//*[@id="content"]/div/div[1]/div/table/tr/td[2]/div/a/text()')#因为要获取标题,所以我需要这个当前路径下的文本,所以使用/text()

for title in titles:
    print title.strip()

得到:

We Sing. We Dance. We Steal Things.
Viva La Vida

华丽的冒险

范特西

后。青春期的诗

是时候

Lenka
Start from Here

旅行的意义
太阳

Once (Soundtrack)

Not Going Anywhere

American Idiot
OK

无与伦比的美丽

亲爱的...我还不知道

城市

O
Wake Me Up When September Ends

叶惠美

七里香

21
My Life Will...
寓言
你在烦恼什么

其它的信息如:链接地址,评分,评价人数都可以用同样的办法来获取,现在我同时获取多条数据,因为每页数据是25条,所以:

完整代码如下:


# coding:utf-8
from lxml import etree
import requests

url = 'https://music.douban.com/top250'

html = requests.get(url).text
s = etree.HTML(html)

hrefs = s.xpath('//*[@id="content"]/div/div[1]/div/table/tr/td[2]/div/a/@href')
titles = s.xpath('//*[@id="content"]/div/div[1]/div/table/tr/td[2]/div/a/text()')
scores = s.xpath('//*[@id="content"]/div/div[1]/div/table/tr/td[2]/div/div/span[2]/text()')
numbers = s.xpath('//*[@id="content"]/div/div[1]/div/table/tr/td[2]/div/div/span[3]/text()')
imgs = s.xpath('//*[@id="content"]/div/div[1]/div/table/tr/td[1]/a/img/@src')

for i in range(25):
    print hrefs[i],titles[i],scores[i],numbers[i],imgs[i]

得到:

一大批数据了,我就不展示了。有兴趣可以直接copy代码运行.,注意你得装上lxml与requests库.


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-67890-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 丁黼
      丁黼

      说明美国不愿面对岛礁的12海里内是中国的了

    • 孙亦楠
      孙亦楠

      这届对美雄不起

    热点图片
    拼命载入中...