各位大佬有没有人能帮帮忙写一个python爬虫的代码,不用很多,八十行左右就行。没有很高的要求,只要爬的网站不是很偏门就行。
5条回答 默认 最新
- CSDN专家-深度学习进阶 2021-06-02 19:16关注
这是我之前爬取京东评论写的,你可以看一下
# coding=utf-8 import requests import re import io import sys reload(sys) sys.setdefaultencoding('utf8') temp='https://item.jd.com/100004325476.html' headers = { 'User-Agent': 'Mozilla / 5.0(Windows NT 10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 89.0.4389.90Safari / 537.36' # 请求的客户端信息 } def url(temp): jd_id=re.findall("\d+",temp)[0] # 提取商品id # 替换京东商品js中一般的Request URL模板 l='https://club.jd.com/comment/productPageComments.action?productId=xxx&score=0&sortType=5&page={page_num}&pageSize=10&isShadowSku=1&rid=0&fold=1' l=l.replace('xxx', jd_id) # 替换id return l def init(): # 实例化类的时候运行初始化函数 # 打开文件 file_name = 'jd_commet' print '正在打开文件'+file_name+'txt文件!' def parse_one_page(url,fp): # 指定url # url='https://club.jd.com/comment/productPageComments.action?productId=100017543968&score=0&sortType=6&page=1&pageSize=10&isShadowSku=100016034372&rid=0&fold=1' # 发起请求 response = requests.get(url, headers=headers) # 获取响应 js_data = response.json() # 提取评论列表 comments_list = js_data['comments'] for comment in comments_list: # 评论内容 content = comment.get('content') content = ' '.join(content.split('\n')) # 处理换行符 print(content) # 循环写出数据 fp.write(u'{}\n'.format(content)) fp.write(u"\n") # 写入一条数据后加一行空数据 def parse_max_page(l): fp = io.open('E:/python/jd_commet.txt', 'w', encoding='utf_8_sig') for page_num in range(10): # 抓包获得最大页数 最大50页,超出自动停止 # 指定通用的url模板 new_url=l.format(page_num=page_num) # 把字符串替换为变量 print '正在获取第'+str(page_num)+'页' # 调用函数 parse_one_page(url=new_url, fp=fp) fp.close() def close_files(): print('爬虫结束,关闭文件!') def run(temp): init() l = url(temp) # 开始爬虫 parse_max_page(l=l) # 关闭文件 close_files() if __name__ == '__main__': run(temp)
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用