braga 发表于 2020-4-10 18:05:09

关于爬淘宝的过程中使用正则表达式

为什么我直接 re.search(target,response.text) 捕获组写的是(.*?)死活匹配不到 我查看了网页源代码 target 没有问题呀

然而我把 response.text 写入一个txt 然后在读取出来 就能匹配的到了
f.write(response.text)
_ = f.read()

这是为什么呀 大佬们{:10_282:}
谢谢你们!!!

1q23w31 发表于 2020-4-10 18:08:21

链接?

braga 发表于 2020-4-10 18:20:41

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

braga 发表于 2020-4-10 18:23:02

1q23w31 发表于 2020-4-10 18:08
链接?

好像链接审核不过去 TT
就是爱淘宝搜索的商品

1q23w31 发表于 2020-4-10 18:30:31

你打印一下爬到的代码,在里面找一下有没有你需要的内容

braga 发表于 2020-4-10 18:30:57

我自己找到问题了 哈哈哈

1q23w31 发表于 2020-4-10 18:31:25

解决了?

braga 发表于 2020-4-10 18:32:53

1q23w31 发表于 2020-4-10 18:30
你打印一下爬到的代码,在里面找一下有没有你需要的内容

嗯嗯 就是实际上网页上有空白符 保存在txt里就 变没了

braga 发表于 2020-4-10 19:48:50

1q23w31 发表于 2020-4-10 18:31
解决了?

大佬 其实还是没解决 TT
期中结尾是这样的
...sultCode":0};

</script>
我想匹配以;/n 结尾 但是匹配不到

1q23w31 发表于 2020-4-10 20:32:29

把源代码发一下,说一下你要匹配的东西
我试试

braga 发表于 2020-4-10 20:55:13

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]
查看完整版本: 关于爬淘宝的过程中使用正则表达式