zengkunling
ablackdog
2016-03-11 08:31

求助,python 解析爬取的网页源码中的json部分

  • 网页源码

爬下来的网页源码有一部分是这样的 :
图片说明
中间那一部分是json吧?要怎么才能解析成像浏览器那样的好继续抓取所要的信息?
说部分是因为有另外一些是正常的html,就中间这一部分想要的信息就这样两行超级长的延伸。。。也使用过json.load()来解析,不想显示错误“没有可以解析的json对象”。
这两行中还有一部分“}\u0026nick\u003d${nick}\u0026rn\u003d${rn}\u0026stats...”应该是unicode的编码,也不知道要怎么办。。

我是想要从淘宝上爬些衣服的图片下来,从首页开始,爬出其中分页的链接,然后拿到分页的源码后要解析出图片的url时出的问题。

下面是部分代码:

url = 'https://www.taobao.com'
header = {'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/601.4.4 (KHTML, like Gecko) Version/9.0.3 Safari/601.4.4'}
cookie = {"cookies":'mt="ci=10_1";uc1="cookie14=UoWyia%2Bf0iS5lw%3D%3D&cookie16=VT5L2FSpNgq6fDudInPRgavC%2BQ%3D%3D&existShop=false&cookie21=U%2BGCWk%2F7pY%2FF&tag=7&cookie15=UIHiLt3xD8xYTw%3D%3D&pas=0"'}
html = requests.get(url)
#解析html,xml转义字符
html_parser = HTMLParser.HTMLParser()
text = html_parser.unescape(html.text)

soup = BeautifulSoup(html.text)

#用xpath来提取链接,如"打底羊毛衫"这个类别
selector = etree.HTML(text)
sub_url = selector.xpath('//*[@id="J_Top"]/div/div[1]/div/div/div/div[3]/div[1]/div/div/div[1]/a[1]/@href')
print sub_url[0]
sub_html = requests.get(sub_url[0])
sub_text = html_parser.unescape(sub_html.text)

soup = BeautifulSoup(sub_html.text,"lxml")

print soup.prettify()

print sub_text


  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

2条回答