Python 爬取汽车领域问答语料(自用)
#coding=utf-8 import time
import requests
from lxml import etree
from pymongo import MongoClient
from selenium import webdriver client = MongoClient("IP", 27017)
db = client["Automobile"]
collection = db["wenda_autohome"]
db.authenticate("","") driver = webdriver.Chrome(executable_path=r"D:\chromedriver_win32\chromedriver.exe") def splist(l, s):
return [l[i: i+s] for i in range(len(l)) if i%s==0] for i in range(36726, 40202):
# url = 'https://wenda.autohome.com.cn/topic/detail/40195'
url = 'https://wenda.autohome.com.cn/topic/detail/' + str(i) time.sleep(1)
driver.get(url)
html = driver.page_source
tree = etree.HTML(html) question = tree.xpath("//h1[@class='card-title']/text()")
answer_list = tree.xpath("//a[@class='text']/text()")
if question==[] or answer_list==[]:
continue n = 0
for j in answer_list: n += 1
answer_list[n-1] = j[41:-37]
if answer_list[n-1][-3:]!='...':
continue s = "//div[@class='card-reply-wrap'][" + str(n) + "]//a[@class='more']"
try:
driver.find_element_by_xpath(s).click() html_answer = driver.page_source
tree_answer = etree.HTML(html_answer)
answer_part = tree_answer.xpath("//div[@class='answer-content']/div/div[@class='ahe__area ahe__block ahe__text']/p/text()")
answer = ''
for item in answer_part:
answer += item answer_list[n-1] = answer
time.sleep(1)
driver.get(url)
except Exception as e:
print e
continue keywords = tree.xpath("//ul[@class='card-tag-list']/li/text()")
discription_list = tree.xpath("//div[@class='ahe__area ahe__block ahe__text']/p/text()")
discription = ''
for j in discription_list:
discription += j zancai = tree.xpath("//span[@class='js-praise-count']/text()")
zancai_list = splist(zancai, 2) dc = {}
dc['keywords'] = keywords
dc['question'] = question[0]
dc['discription'] = discription
dc['answer'] = answer_list
dc['zancai'] = zancai_list
dc['url'] = url collection.insert(dc) driver.close()
Python 爬取汽车领域问答语料(自用)的更多相关文章
- Python 爬取汽车之家口碑数据
本文仅供学习交流使用,如侵立删!联系方式见文末 汽车之家口碑数据 2021.8.3 更新 增加用户信息参数.认证车辆信息等 2021.3.24 更新 更新最新数据接口 2020.12.25 更新 添加 ...
- 使用python爬取MedSci上的期刊信息
使用python爬取medsci上的期刊信息,通过设定条件,然后获取相应的期刊的的影响因子排名,期刊名称,英文全称和影响因子.主要过程如下: 首先,通过分析网站http://www.medsci.cn ...
- 毕设之Python爬取天气数据及可视化分析
写在前面的一些P话:(https://jq.qq.com/?_wv=1027&k=RFkfeU8j) 天气预报我们每天都会关注,我们可以根据未来的天气增减衣物.安排出行,每天的气温.风速风向. ...
- Python 爬取所有51VOA网站的Learn a words文本及mp3音频
Python 爬取所有51VOA网站的Learn a words文本及mp3音频 #!/usr/bin/env python # -*- coding: utf-8 -*- #Python 爬取所有5 ...
- python爬取网站数据
开学前接了一个任务,内容是从网上爬取特定属性的数据.正好之前学了python,练练手. 编码问题 因为涉及到中文,所以必然地涉及到了编码的问题,这一次借这个机会算是彻底搞清楚了. 问题要从文字的编码讲 ...
- python爬取某个网页的图片-如百度贴吧
python爬取某个网页的图片-如百度贴吧 作者:vpoet mail:vpoet_sir@163.com 注:随意copy,不用告诉我 #coding:utf-8 import urllib imp ...
- Python:爬取乌云厂商列表,使用BeautifulSoup解析
在SSS论坛看到有人写的Python爬取乌云厂商,想练一下手,就照着重新写了一遍 原帖:http://bbs.sssie.com/thread-965-1-1.html #coding:utf- im ...
- python爬取免费优质IP归属地查询接口
python爬取免费优质IP归属地查询接口 具体不表,我今天要做的工作就是: 需要将数据库中大量ip查询出起归属地 刚开始感觉好简单啊,毕竟只需要从百度找个免费接口然后来个python脚本跑一晚上就o ...
- Python爬取豆瓣指定书籍的短评
Python爬取豆瓣指定书籍的短评 #!/usr/bin/python # coding=utf-8 import re import sys import time import random im ...
随机推荐
- AC日记——天天爱跑步 洛谷 P1600
天天爱跑步 思路: 树上差分+分层动态线段树: (伏地膜,跪烂xxy) 代码: #include <bits/stdc++.h> using namespace std; #define ...
- mysql ERROR 1366
mysql ERROR 1366 mysql> INSERT INTO tb_room VALUES ('9101','9','1',300,'9101',0,1,'超级豪华间','public ...
- PL\SQL结构控制、异常
PL\SQL结构控制 1.IF条件控制语句(三种基本方式+IF语句的嵌套使用) (1)IF... (2)IF...ELSE (3)IF...ELSIF. ...
- js for循环的陷阱
☞问题概述 一页面有三个按钮,点击提示相应内容.相应内容已从后台获取,并转化成json数组. var content = ["提示1", "提示2", &quo ...
- Linux含交互的自动登录脚本
近来经常要通过ssh登录服务器,每次输入命令和密码很麻烦,查资料发现有两种解决,一种是本地创建密钥直接登录,另一种是写个脚本. 这里介绍第二种方法,第一种资料也很多,但是觉得没啥意思. 先上脚本: # ...
- 【动态规划/二维背包问题】mr355-三角形牧场
应该也是USACO的题目?同样没有找到具体出处. [题目大意] 和所有人一样,奶牛喜欢变化.它们正在设想新造型牧场.奶牛建筑师Hei想建造围有漂亮白色栅栏的三角形牧场.她拥有N(3≤N≤40)块木板, ...
- getDimension,getDimensionPixelOffset和getDimensionPixelSize
dimens.xml里写上三个变量: <dimen name="activity_vertical_margin1">16dp</dimen> <di ...
- [NOIP2013 花匠] 新人解题报告
本来按照老师的要求,我学OI的第一份解题报告应是在寒假完成的关于数据结构的基础题,但由于身体原因当时未能完成,那么就在省选赛前临时写几篇吧…… 题目描述 花匠栋栋种了一排花,每株花都有自己的高度.花儿 ...
- APK Develop——SMS Timer
SMS Timer APK 描述: 在设定时间后向设定手机号码发送设定的内容的短信. 权限获取: <manifest xmlns:android="http://schemas.and ...
- 解决myeclipse不编译的方法
请按照下面方法对号入座: MyEclipse不编译解决1. 确保 project->build automatically 已经被选上(最基本). MyEclipse不编译解决2. 如果选上了, ...