我正在学习爬虫和 python,还处于萌新阶段,有很多问题还不是很懂。
写了一个爬小猪短租租房信息的程序,本来 1.0 功能正常,现在想加入点开二级网页再爬取内容的功能,却出现了报错“ No connection adapters were found ” ,实在不清楚出了什么问题。不知道这种报错是哪里出了问题。我实在是比较菜,可能问问题的方式也不对。但有大佬能不吝赐教吗,感激不尽!错误部分代码如下:
catchNewurl = div.xpath('./div[2]/@detailurl')
Newurl = catchNewurl
data4 = requests.get(Newurl).text#此行报错
完整代码如下
# -*- coding: utf-8 -*-
import random
import time
import requests
import xlwt
from lxml import etree
#循环外部分准备(输入向导,输入,表头准备)
print ('请参考城市及拼音缩写:北京市 bj 天津市 tj 沈阳市 sy 长春市 cc 哈尔滨市 heb 上海市 sh 南京市 nj 武汉市 wh 广州市 gz 重庆市 cq 成都市 cd 西安市 xa(冀)石家庄市 sjz,唐山市 ts (晋)太原市 ty (蒙)包头市 bt (辽)大连市 dl,鞍山市 as,抚顺市 fs (吉)吉林市 jl (黑)齐齐哈尔市 (苏)徐州市 (浙)杭州市 hz (闽)福州市 fz (赣)南昌市 nc (鲁)济南市 jn 青岛市 qd 淄博市 zb (豫)郑州市 zz (湘)长沙市 cs (贵)贵阳市 gy (云)昆明市 km (甘)兰州市 lz (疆)乌鲁木齐市 wlmq')
city = input('输入查询城市拼音缩写:')
writebook = xlwt.Workbook('/Users/wly/Desktop/小猪租房信息.xls')
sheet = writebook.add_sheet('短租房信息')
sheet.write(0,0,'名称')
sheet.write(0,1,'价格')
sheet.write(0,2,'点评数')
print ('获取中,请等待')
x = 1
#爬虫部分(循环爬取)
for i in range(1,10):
url3 = 'http://{}.xiaozhu.com/search-duanzufang-p{}-0/'.format(city,i)
data3 = requests.get(url3).text #初始化生成一个 XPath 解析对象
h = etree.HTML(data3)
home = h.xpath('//*[@id="page_list"]/ul/li')#获取所有标签
time.sleep(random.randint(5,20))
for div in home:
name = div.xpath('./div[2]/div/a/span/text()')[0]
price = div.xpath('./div[2]/span[1]/i/text()')[0]
comments = div.xpath('./div[2]/div/em/span/text()')[0].strip()
catchNewurl = div.xpath('./div[2]/@detailurl')
Newurl = catchNewurl
data4 = requests.get(Newurl).text#此行报错
h1 = etree.HTML(data4)
newHome = h1.xpath('//*[@id="introducePart"]')
time.sleep(random.randint(5,20))
for div in newHome:
feature1 = div.xpath('./div[0]/div[1]/div/p/text()')[0]
print(feature1)
time.sleep(random.randint(5,20))
sheet.write(x,0,name)
sheet.write(x,1,price)
sheet.write(x,2,comments)
x=x+1
writebook.save('/Users/wly/Desktop/小猪租房信息.xls')
写了一个爬小猪短租租房信息的程序,本来 1.0 功能正常,现在想加入点开二级网页再爬取内容的功能,却出现了报错“ No connection adapters were found ” ,实在不清楚出了什么问题。不知道这种报错是哪里出了问题。我实在是比较菜,可能问问题的方式也不对。但有大佬能不吝赐教吗,感激不尽!错误部分代码如下:
catchNewurl = div.xpath('./div[2]/@detailurl')
Newurl = catchNewurl
data4 = requests.get(Newurl).text#此行报错
完整代码如下
# -*- coding: utf-8 -*-
import random
import time
import requests
import xlwt
from lxml import etree
#循环外部分准备(输入向导,输入,表头准备)
print ('请参考城市及拼音缩写:北京市 bj 天津市 tj 沈阳市 sy 长春市 cc 哈尔滨市 heb 上海市 sh 南京市 nj 武汉市 wh 广州市 gz 重庆市 cq 成都市 cd 西安市 xa(冀)石家庄市 sjz,唐山市 ts (晋)太原市 ty (蒙)包头市 bt (辽)大连市 dl,鞍山市 as,抚顺市 fs (吉)吉林市 jl (黑)齐齐哈尔市 (苏)徐州市 (浙)杭州市 hz (闽)福州市 fz (赣)南昌市 nc (鲁)济南市 jn 青岛市 qd 淄博市 zb (豫)郑州市 zz (湘)长沙市 cs (贵)贵阳市 gy (云)昆明市 km (甘)兰州市 lz (疆)乌鲁木齐市 wlmq')
city = input('输入查询城市拼音缩写:')
writebook = xlwt.Workbook('/Users/wly/Desktop/小猪租房信息.xls')
sheet = writebook.add_sheet('短租房信息')
sheet.write(0,0,'名称')
sheet.write(0,1,'价格')
sheet.write(0,2,'点评数')
print ('获取中,请等待')
x = 1
#爬虫部分(循环爬取)
for i in range(1,10):
url3 = 'http://{}.xiaozhu.com/search-duanzufang-p{}-0/'.format(city,i)
data3 = requests.get(url3).text #初始化生成一个 XPath 解析对象
h = etree.HTML(data3)
home = h.xpath('//*[@id="page_list"]/ul/li')#获取所有标签
time.sleep(random.randint(5,20))
for div in home:
name = div.xpath('./div[2]/div/a/span/text()')[0]
price = div.xpath('./div[2]/span[1]/i/text()')[0]
comments = div.xpath('./div[2]/div/em/span/text()')[0].strip()
catchNewurl = div.xpath('./div[2]/@detailurl')
Newurl = catchNewurl
data4 = requests.get(Newurl).text#此行报错
h1 = etree.HTML(data4)
newHome = h1.xpath('//*[@id="introducePart"]')
time.sleep(random.randint(5,20))
for div in newHome:
feature1 = div.xpath('./div[0]/div[1]/div/p/text()')[0]
print(feature1)
time.sleep(random.randint(5,20))
sheet.write(x,0,name)
sheet.write(x,1,price)
sheet.write(x,2,comments)
x=x+1
writebook.save('/Users/wly/Desktop/小猪租房信息.xls')