情景一:
如果要爬取的是这个url直接response(preview)回来的内容,则用data = json.loads(html)对response进行处理,如下图
提取代码参考如下:
def parse_html(html):
data = json.loads(html)
if data and 'data' in data.keys():
for item in data.get('data'):
yield item.get('article_url')
情景二:
如果要爬取的是这个url是在html中直接提取,那么需要先转换成pyquery可以识别的格式,再进行提取:
代码参考如下:
def get_url(html): # 去获取文章的url
doc = pq(html)
items = doc('li').items()
for item in items:
article_urls = item('div.txt-box > h3 > a').attr('href')
yield article_urls