关于爬淘宝的过程中使用正则表达式
为什么我直接 re.search(target,response.text) 捕获组写的是(.*?)死活匹配不到 我查看了网页源代码 target 没有问题呀然而我把 response.text 写入一个txt 然后在读取出来 就能匹配的到了
f.write(response.text)
_ = f.read()
这是为什么呀 大佬们{:10_282:}
谢谢你们!!!
链接?
1q23w31 发表于 2020-4-10 18:08
链接?
https://ai.taobao.com/search/index.htm?&key=%E9%9B%B6%E5%9F%BA%E7%A1%80%E5%85%A5%E9%97%A8%E5%AD%A6%E4%B9%A0python&sort=biz30day 1q23w31 发表于 2020-4-10 18:08
链接?
好像链接审核不过去 TT
就是爱淘宝搜索的商品 你打印一下爬到的代码,在里面找一下有没有你需要的内容
我自己找到问题了 哈哈哈 解决了?
1q23w31 发表于 2020-4-10 18:30
你打印一下爬到的代码,在里面找一下有没有你需要的内容
嗯嗯 就是实际上网页上有空白符 保存在txt里就 变没了 1q23w31 发表于 2020-4-10 18:31
解决了?
大佬 其实还是没解决 TT
期中结尾是这样的
...sultCode":0};
</script>
我想匹配以;/n 结尾 但是匹配不到 把源代码发一下,说一下你要匹配的东西
我试试 1q23w31 发表于 2020-4-10 20:32
把源代码发一下,说一下你要匹配的东西
我试试
import requests
import re
import json
def url_open(key_word):
url='https://ai.taobao.com/search/index.htm'
headers ={'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.92 Safari/537.36'}
params={'key':key_word,'sort':'biz30day'}
res = requests.get(url,headers=headers,params=params)
return res
def main():
key_word=input('请输入商品关键字:')
res = url_open(key_word)
## with open('0.txt','w',encoding='utf-8')as f:
## f.write(res.text)
## with open('0.txt','r',encoding='utf-8')as f:
## a = f.read()
res_js = re.search(r'var _pageResult = (.*?);\n',res.text)
## with open('4.txt','w',encoding='utf-8')as f:
## f.write(res_js.group(1))
target = res_js.group(1)
d_json =json.loads(target)
data = d_json['result']['auction']
for each in data:
print(each['nick'],each['biz30Day'])
if __name__=='__main__':
main()
页:
[1]