python爬虫入门(3)
对于top250,一般的爬虫可以解决,但是在最新&热门电影的爬取时则出现了问题:
import requests
xp = etree.HTML(resp.text)
actor = xp.xpath('//*[@id="app"]/div/div[1]/div[3]/a[1]/p/span[1]')
print(actor)
y = xp.xpath('//*[@id="app"]/div/div[1]/div[3]/a[2]/p/span[1]')
print(y)
结果为空,爬了个寂寞。
会到网页发现目标问题的源代码不在网页的代码里,查询不到。
在开发者工具里可以发现,url在这里:
所以把这个url弄到代码里,看看data有哪些:
import requests
from lxml import etree
headers = {'User-agent':'Mozilla/5.0'}
url = 'https://movie.douban.com/j/new_search_subjects?sort=U&range=0,10&tags=&start=0'
resp = requests.get(url,headers = headers).json()
for data in resp['data']:
print(data['directors'][0],','.join(data['casts']))
print('\n')
现在就ok了
注意.json可以使输出更规范,而且可以根据data里面的参数,以data[x]的形式输出内容(类似于字典或者数学函数)